package inventario;

import conexion.CConexion;
import java.sql.SQLException;
import java.sql.Statement;
import utilitario.CFecha;

public class CInvegr100 extends CConexion {

    CFecha fechaSistema = null;
    String compania = null;
    String bodega = null;
    String tipoDocumento = null;
    String numeroDocumento = null;
    String numeroRequisicion = null;
    String fecha = null;
    String autorizacion = null;
    String recibe = null;
    String entrega = null;
    String comentario = null;
    String estado = null;
    String usuarioActual = null;
    String fechaActual = null;
    String[][] detalle = null;

    public CInvegr100() {
        super();
        fechaSistema = new CFecha();
        compania = login.getCompaniaActual();
        usuarioActual = login.getUsuarioLogin();
        fechaActual = fechaSistema.getFechaCompleta();

    }

    public void crearCabecera(String bodega, String tipoDocumento, String numeroDocumento, String numeroRequisicion, String fecha, String autorizacion, String recibe, String entrega, String comentario) throws SQLException {
        this.bodega = bodega;
        this.numeroDocumento = numeroDocumento;
        this.numeroRequisicion = numeroRequisicion;
        this.fecha = fecha;
        this.autorizacion = autorizacion;
        this.recibe = recibe;
        this.entrega = entrega;
        this.comentario = comentario;
        this.estado = "A";
        String sqlCabecera = ("insert into invegr100 values ('" + this.compania + "', '" + this.bodega + "', '" + this.tipoDocumento + "', '" + this.numeroDocumento + "', '" + this.numeroRequisicion + "', '" + this.fecha + "', '" + this.autorizacion + "', '" + this.recibe + "', '" + this.entrega + "', '" + this.comentario + "', '" + this.estado + "', '" + this.usuarioActual + "', '" + this.fechaActual + "', '" + this.usuarioActual + "', '" + this.fechaActual + "')");
        Statement stncCabecera = this.getConexion().createStatement();
        stncCabecera.execute(sqlCabecera);
        stncCabecera.close();
    }

    public void crearDetalle(String[][] detalle, int filas) throws SQLException {
        this.detalle = new String[filas][16];
        for (int i = 0; i < filas; i++) {
            this.detalle[i][0] = this.compania;
            this.detalle[i][1] = this.bodega;
            this.detalle[i][2] = this.tipoDocumento;
            this.detalle[i][3] = this.numeroDocumento;
            this.detalle[i][4] = String.valueOf(i + 1);
            this.detalle[i][5] = detalle[i][0];//Código
            this.detalle[i][6] = detalle[i][1];//Descripción
            this.detalle[i][7] = detalle[i][2];//Cantidad
            this.detalle[i][8] = detalle[i][3];//Lote
            this.detalle[i][9] = detalle[i][4];//Fecha de caducidad
            this.detalle[i][10] = detalle[i][5];//Valor unitario
            this.detalle[i][11] = String.valueOf(Double.parseDouble(this.detalle[i][7]) * Double.parseDouble(this.detalle[i][10]));// Valor total
            this.detalle[i][12] = this.usuarioActual;
            this.detalle[i][13] = this.fechaActual;
            this.detalle[i][14] = this.usuarioActual;
            this.detalle[i][15] = this.fechaActual;
            String sqlDetalle = "insert into invegr101 values ('" + this.detalle[i][0] + "', '" + this.detalle[i][1] + "', '" + this.detalle[i][2] + "', " + this.detalle[i][3] + ", " + this.detalle[i][4] + ", '" + this.detalle[i][5] + "', '" + this.detalle[i][6]+ "', " + this.detalle[i][7] + ", '" + this.detalle[i][8] + "', '" + this.detalle[i][9] + "', " + this.detalle[i][10] + ", " + this.detalle[i][11] + ", '" + this.detalle[i][12] + "', '" + this.detalle[i][13] + "', '" + this.detalle[i][14] + "', '" + this.detalle[i][15] + "')";
            Statement stncDetalle = this.getConexion().createStatement();
            stncDetalle.execute(sqlDetalle);
            stncDetalle.close();
        }
    }
}